#import <Foundation/NSObject.h>
#import <Foundation/NSArray.h>
#import <Foundation/NSString.h>
#import <Foundation/NSAutoreleasePool.h>

int main (int argc, char *argv[])
{
    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
    NSMutableArray    *dataArray = [NSMutableArray arrayWithObjects:
        [NSMutableString stringWithString: @"jeden"],
        [NSMutableString stringWithString: @"dwa"],
        [NSMutableString stringWithString: @"trzy"],
        nil
    ];
    NSMutableArray    *dataArray2;
    NSMutableString   *mStr;

    NSLog (@"dataArray:  ");
    for ( NSString *elem in dataArray )
        NSLog (@"   %@", elem);

    // Utworzenie kopii i zmiana jednego z acuchw

    dataArray2 = [dataArray mutableCopy];

    mStr = [dataArray objectAtIndex: 0];
    [mStr appendString: @"JEDEN"];

    NSLog (@"dataArray:  ");
    for ( NSString *elem in dataArray )
        NSLog (@"   %@", elem);

    NSLog (@"dataArray2:  ");
    for ( NSString *elem in dataArray2 )
        NSLog (@"   %@", elem);

    [dataArray2 release];
    [pool drain];
    return 0;
}